Outlook - Custom rule action

Otázka od: Tomas Folprecht

14. 11. 2002 10:54

Dobry den,

potreboval bych napsat vlastni akci pro pruvodce pravidly v Outlooku (Custom
rule action).
Dela se to tak, ze se napise DLL, ktere se nekam do registru zaregistruje. To
umim.
Neumim ale do Delphi interpretovat funkci:

  HRESULT IExchangeRuleExt::Command(
   LPEXCHANGERULEEXTCALLBACK percb, //- an instance of
IExchangeRuleExtCallback
   LPCTSTR pszCommand, //- the encoded command to
execute
   ULONG cb, LPENTRYID peid //- the entryid of the message
on which to execute
   )

To je totiz funkce z C++ prikladu, ktera funguje a kterou musi to DLL
poskytovat.
Konkretne neumim do nejakého Pascalského typu dostat EntryID. Abych s tím mohl
pracovat, potrebuju to ve WideString.

Delal jste nekdo neco podobneho?

Diky za radu.

Tomas

Odpovedá: Tomas Folprecht

18. 11. 2002 9:08

Dobry den,
nikdo zadnou radu? Tak ja zkusim dotaz zjednodusit:

Nevite nekdo co jsou C++ -ovsky typy:
LPCTSTR
ULONG
LPENTRYID
a jak s nimi zachazet v Delphi?

Dik Tomas.

> -----Original Message-----
> From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
> Behalf Of Tomas Folprecht
> Sent: Thursday, November 14, 2002 9:53 AM
> To: delphi-l@clexpert.cz
> Subject: Outlook - Custom rule action
>
>
> Dobry den,
>
> potreboval bych napsat vlastni akci pro pruvodce pravidly v Outlooku (Custom
rule action).
> Dela se to tak, ze se napise DLL, ktere se nekam do registru zaregistruje. To
umim.
> Neumim ale do Delphi interpretovat funkci:
>
> HRESULT IExchangeRuleExt::Command(
> LPEXCHANGERULEEXTCALLBACK percb, //- an instance of
IExchangeRuleExtCallback
> LPCTSTR pszCommand, //- the encoded command to
execute
> ULONG cb, LPENTRYID peid //- the entryid of the
message on which to execute
> )
>
> To je totiz funkce z C++ prikladu, ktera funguje a kterou musi to DLL
poskytovat.
> Konkretne neumim do nejakého Pascalského typu dostat EntryID. Abych s tím
mohl pracovat, potrebuju to ve WideString.
>
> Delal jste nekdo neco podobneho?
>
> Diky za radu.
>
> Tomas
>
>
>

Odpovedá: Blazek Jaroslav

18. 11. 2002 12:54

Ahoj,

> tomas@apkfolprecht.cz 18.11.02 8:42 >>>
>Nevite nekdo co jsou C++ -ovsky typy:
>LPCTSTR
>ULONG
>LPENTRYID
>a jak s nimi zachazet v Delphi?
   HRESULT IExchangeRuleExt::Command(
> LPEXCHANGERULEEXTCALLBACK percb, //- an instance of
IExchangeRuleExtCallback
> LPCTSTR pszCommand, //- the encoded command to
execute
> ULONG cb, LPENTRYID peid //- the entryid of the
message on which to execute
> )
> Konkretne neumim do nejakého Pascalského typu dostat EntryID.

LPCTSTR - konstantni PChar
ULONG - DWORD - Cardinal, LongWord

LPENTRYID

<mapidefs.h>

#ifndef MAPI_DIM
#define MAPI_DIM 1
#endif

{$IFNDEF MAPI_DIM}
const MAPI_DIM = 0;
{$ENDIF}

typedef struct
{
 BYTE abFlags[4];
 BYTE ab[MAPI_DIM];
} ENTRYID, FAR *LPENTRYID;

type
  PENTRYID = ^TENTRYID;
  TENTRYID = record
    abFlags:array [0..3] of Byte;
    ab:array [0..MAPI_DIM] of Byte;
  end;


S pozdravem

Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644